#include <iostream>
#include <string>

using namespace std;

template <typename T ,size_t N>
void print(const T (&arr)[N])
{
    cout << N << endl;
    for (size_t i = 0; i < N; i++)
    {
        cout << arr[i] << endl;
    }
    
}
class stu
{
private:
    string name;
    int id;
public:
    stu()
    {

    }
    stu(string name ,int id)
        :name(name) , id(id)
    {

    }
    ~stu()
    {
    }
public:
    bool operator== (stu & R)
    {
        if(this->name == R.name)
        {
            if (this->id == R.id)
            {
                return 1;
            }
            
        }
        return 0;
    }

};

template <typename T>
void Func(T & L , T & R)
{
    if (L == R)
    {
        cout <<"相等" << endl;
    }
    cout <<"不相等" << endl;
}


int main(int argc, char const *argv[])
{
    
    stu s1("张三" ,1);
    stu s2("张" ,1);
    int i =5;
    int a =5;
    Func(s1 ,s2);
    return 0;
}
